package com.hdl.dao;

import com.hdl.pojo.Resume;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
 * 接口名 ResumeDao
 * 描述 一个符合spring dat jpa要求的dao层接口需要集成JpaRepository和JpaSpecificationExecutor
 * JpaRepository<操作的实体类, 主键类型>
 *     封装了基本的CRUD操作
 * JpaSpecificationExecutor<操作的实体类>
 *     封装了复杂的查询（分页，排序等）
 * @author hedonglin
 * @version 1.0
 * @date 2020/5/15 9:48
 */
public interface ResumeDao extends JpaRepository<Resume, Long>, JpaSpecificationExecutor<Resume> {


    @Query("from Resume where id= ?1 and name = ?2")
    List<Resume> findByJpql(Long id, String name);

    /**
     * 使用原生sql语句查询，x需要j将nativeQuery属性设置为true,默认是false
     * @param name
     * @param address
     * @return
     */
    @Query(value = "select * from tb_resume where name like ?1 and address like ?2", nativeQuery = true)
    List<Resume> findBySql(String name, String address);
}
